package org.jeecg.modules.wms.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jeecg.modules.wms.entity.WmsInventory;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 库存VO
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "库存视图对象", description = "库存视图对象")
public class WmsInventoryVO extends WmsInventory implements Serializable {
    private static final long serialVersionUID = 1L;
    
    /**
     * 物料类型名称
     */
    private String materialTypeName;
    
    /**
     * 单位名称
     */
    private String unitName;
    
    @ApiModelProperty(value = "库存状态（1-正常，2-超过上限，3-低于下限）")
    private Integer stockStatus;
    
    /**
     * 库存状态名称
     */
    private String stockStatusName;
    
    /**
     * 入库/出库操作数量 - 与父类quantity字段区分
     */
    @ApiModelProperty(value = "操作数量")
    private BigDecimal operationQuantity;
    
    /**
     * 入库操作的单位成本 - 与父类unitCost字段区分
     */
    @ApiModelProperty(value = "操作单位成本")
    private BigDecimal operationUnitCost;
    
    /**
     * 业务类型（11-采购入库，12-生产余料入库，19-其他入库，21-生产领料，29-其他出库）
     */
    @ApiModelProperty(value = "业务类型")
    private Integer businessType;
    
    /**
     * 业务单号
     */
    @ApiModelProperty(value = "业务单号")
    private String businessNo;
    
    /**
     * 操作人
     */
    @ApiModelProperty(value = "操作人")
    private String operator;

    /**
     * 是否满足需求数量
     */
    @ApiModelProperty(value = "是否满足需求数量")
    private Boolean sufficient;
    
    /**
     * 出库数量（组合出库方案中当前库位的出库数量）
     */
    @ApiModelProperty(value = "出库数量")
    private BigDecimal outboundQuantity;
    
    /**
     * 总可用库存数量
     */
    @ApiModelProperty(value = "总可用库存数量")
    private BigDecimal totalAvailableQuantity;
    
    /**
     * 需求数量
     */
    @ApiModelProperty(value = "需求数量")
    private BigDecimal requiredQuantity;

    private Boolean InsufficientStock;
}